/*--------------------------------------------------------------------------
  Project::HEXAGON FLIGHT SIMULATOR
  Package::Test
  Class::FPSTest
  File FPSTest.h
  --------------------------------------------------------------------------
  * METHODS AND CLASS PARAMETERS


  --------------------------------------------------------------------------
  * FUNCTIONS DESCRIPTION
  
  --------------------------------------------------------------------------
  * COPYRIGHT

  --------------------------------------------------------------------------
  * INFO ABOUT AUTHOR AND VERSIONS
  Author:	Tino Giorgio	Data: 
  Rev1:			Data:

  --------------------------------------------------------------------------
  * E-MAIL & CONTACTS

  GIORGIO TINO:	giorgio.tino@gmail.com

  --------------------------------------------------------------------------*/

#if !defined(FPSTEST_H)
#define FPSTEST_H

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

/* PLIB includes */
#include <plib/ul.h>
#include <plib/sg.h>
#include <plib/ssg.h>

/* Project's includes */
#include "Defines.h"

#define NUM_FRAMES_FOR_TEST 10

class FPSTest  
{
public:
	FPSTest();
	virtual ~FPSTest();

	float test();

private:
	// the inner clock
	ulClock ck;

	// total time from the process start
	double t;

	// delta time from last clock
	float dt;

	// frames per second
	float fps;

	// frame counter
	int frameNumber;

	// delta time from last test
	float time;

};

#endif // !defined(FPSTEST_H)
